/**
 * <copyright>
 * </copyright>
 *
 */
package org.soaism.soadsl.util;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;

import org.eclipse.emf.ecore.EObject;

import org.soaism.soadsl.*;

/**
 * <!-- begin-user-doc -->
 * The <b>Adapter Factory</b> for the model.
 * It provides an adapter <code>createXXX</code> method for each class of the model.
 * <!-- end-user-doc -->
 * @see org.soaism.soadsl.SoadslPackage
 * @generated
 */
public class SoadslAdapterFactory extends AdapterFactoryImpl
{
  /**
   * The cached model package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected static SoadslPackage modelPackage;

  /**
   * Creates an instance of the adapter factory.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public SoadslAdapterFactory()
  {
    if (modelPackage == null)
    {
      modelPackage = SoadslPackage.eINSTANCE;
    }
  }

  /**
   * Returns whether this factory is applicable for the type of the object.
   * <!-- begin-user-doc -->
   * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
   * <!-- end-user-doc -->
   * @return whether this factory is applicable for the type of the object.
   * @generated
   */
  @Override
  public boolean isFactoryForType(Object object)
  {
    if (object == modelPackage)
    {
      return true;
    }
    if (object instanceof EObject)
    {
      return ((EObject)object).eClass().getEPackage() == modelPackage;
    }
    return false;
  }

  /**
   * The switch that delegates to the <code>createXXX</code> methods.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected SoadslSwitch<Adapter> modelSwitch =
    new SoadslSwitch<Adapter>()
    {
      @Override
      public Adapter caseModel(Model object)
      {
        return createModelAdapter();
      }
      @Override
      public Adapter caseApplicationInfo(ApplicationInfo object)
      {
        return createApplicationInfoAdapter();
      }
      @Override
      public Adapter caseModelAspect(ModelAspect object)
      {
        return createModelAspectAdapter();
      }
      @Override
      public Adapter caseImportInfo(ImportInfo object)
      {
        return createImportInfoAdapter();
      }
      @Override
      public Adapter caseImport(Import object)
      {
        return createImportAdapter();
      }
      @Override
      public Adapter caseEntityAspect(EntityAspect object)
      {
        return createEntityAspectAdapter();
      }
      @Override
      public Adapter caseEntity(Entity object)
      {
        return createEntityAdapter();
      }
      @Override
      public Adapter caseFeature(Feature object)
      {
        return createFeatureAdapter();
      }
      @Override
      public Adapter caseType(Type object)
      {
        return createTypeAdapter();
      }
      @Override
      public Adapter caseDatatype(Datatype object)
      {
        return createDatatypeAdapter();
      }
      @Override
      public Adapter caseRemotingAspect(RemotingAspect object)
      {
        return createRemotingAspectAdapter();
      }
      @Override
      public Adapter caseRemoteService(RemoteService object)
      {
        return createRemoteServiceAdapter();
      }
      @Override
      public Adapter caseRestService(RestService object)
      {
        return createRestServiceAdapter();
      }
      @Override
      public Adapter caseRestServiceRequest(RestServiceRequest object)
      {
        return createRestServiceRequestAdapter();
      }
      @Override
      public Adapter caseGetRequest(GetRequest object)
      {
        return createGetRequestAdapter();
      }
      @Override
      public Adapter casePostRequest(PostRequest object)
      {
        return createPostRequestAdapter();
      }
      @Override
      public Adapter caseDeleteRequest(DeleteRequest object)
      {
        return createDeleteRequestAdapter();
      }
      @Override
      public Adapter casePutRequest(PutRequest object)
      {
        return createPutRequestAdapter();
      }
      @Override
      public Adapter caseResponse(Response object)
      {
        return createResponseAdapter();
      }
      @Override
      public Adapter caseMessage(Message object)
      {
        return createMessageAdapter();
      }
      @Override
      public Adapter caseSimpleCallParameter(SimpleCallParameter object)
      {
        return createSimpleCallParameterAdapter();
      }
      @Override
      public Adapter caseParameterMessage(ParameterMessage object)
      {
        return createParameterMessageAdapter();
      }
      @Override
      public Adapter caseSimpleFeature(SimpleFeature object)
      {
        return createSimpleFeatureAdapter();
      }
      @Override
      public Adapter caseBodyMessage(BodyMessage object)
      {
        return createBodyMessageAdapter();
      }
      @Override
      public Adapter caseCallParameter(CallParameter object)
      {
        return createCallParameterAdapter();
      }
      @Override
      public Adapter defaultCase(EObject object)
      {
        return createEObjectAdapter();
      }
    };

  /**
   * Creates an adapter for the <code>target</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param target the object to adapt.
   * @return the adapter for the <code>target</code>.
   * @generated
   */
  @Override
  public Adapter createAdapter(Notifier target)
  {
    return modelSwitch.doSwitch((EObject)target);
  }


  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.Model <em>Model</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.Model
   * @generated
   */
  public Adapter createModelAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.ApplicationInfo <em>Application Info</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.ApplicationInfo
   * @generated
   */
  public Adapter createApplicationInfoAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.ModelAspect <em>Model Aspect</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.ModelAspect
   * @generated
   */
  public Adapter createModelAspectAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.ImportInfo <em>Import Info</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.ImportInfo
   * @generated
   */
  public Adapter createImportInfoAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.Import <em>Import</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.Import
   * @generated
   */
  public Adapter createImportAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.EntityAspect <em>Entity Aspect</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.EntityAspect
   * @generated
   */
  public Adapter createEntityAspectAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.Entity <em>Entity</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.Entity
   * @generated
   */
  public Adapter createEntityAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.Feature <em>Feature</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.Feature
   * @generated
   */
  public Adapter createFeatureAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.Type <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.Type
   * @generated
   */
  public Adapter createTypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.Datatype <em>Datatype</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.Datatype
   * @generated
   */
  public Adapter createDatatypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.RemotingAspect <em>Remoting Aspect</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.RemotingAspect
   * @generated
   */
  public Adapter createRemotingAspectAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.RemoteService <em>Remote Service</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.RemoteService
   * @generated
   */
  public Adapter createRemoteServiceAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.RestService <em>Rest Service</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.RestService
   * @generated
   */
  public Adapter createRestServiceAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.RestServiceRequest <em>Rest Service Request</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.RestServiceRequest
   * @generated
   */
  public Adapter createRestServiceRequestAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.GetRequest <em>Get Request</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.GetRequest
   * @generated
   */
  public Adapter createGetRequestAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.PostRequest <em>Post Request</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.PostRequest
   * @generated
   */
  public Adapter createPostRequestAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.DeleteRequest <em>Delete Request</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.DeleteRequest
   * @generated
   */
  public Adapter createDeleteRequestAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.PutRequest <em>Put Request</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.PutRequest
   * @generated
   */
  public Adapter createPutRequestAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.Response <em>Response</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.Response
   * @generated
   */
  public Adapter createResponseAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.Message <em>Message</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.Message
   * @generated
   */
  public Adapter createMessageAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.SimpleCallParameter <em>Simple Call Parameter</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.SimpleCallParameter
   * @generated
   */
  public Adapter createSimpleCallParameterAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.ParameterMessage <em>Parameter Message</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.ParameterMessage
   * @generated
   */
  public Adapter createParameterMessageAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.SimpleFeature <em>Simple Feature</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.SimpleFeature
   * @generated
   */
  public Adapter createSimpleFeatureAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.BodyMessage <em>Body Message</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.BodyMessage
   * @generated
   */
  public Adapter createBodyMessageAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link org.soaism.soadsl.CallParameter <em>Call Parameter</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see org.soaism.soadsl.CallParameter
   * @generated
   */
  public Adapter createCallParameterAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for the default case.
   * <!-- begin-user-doc -->
   * This default implementation returns null.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @generated
   */
  public Adapter createEObjectAdapter()
  {
    return null;
  }

} //SoadslAdapterFactory
